/**
 *
 * @author DnD Binary Source
 */
package Entities;

public class Character {
    private Class classe;
    private Race race;
    private AbilityScore[] abilities;
    private SkillList skills;
    private PowerList powers;
    private FeatList feats;
    private RitualList rituals;
    private int hPTotal;
    private int hP;
    
    // Builds a new character with the specified values
    public void Character(Class classe, Race race, AbilityScore[] abilities, SkillList skills, PowerList powers, FeatList feats, RitualList rituals){
        this.setClasse(classe);
        this.setRace(race);
        this.setAbilities(abilities);
        this.setSkills(skills);
        this.setPowers(powers);
        this.setFeats(feats);
        this.setRituals(rituals);
        Builder.calculateStats(this);
    }

    // Return the character's class
    public Class getClasse() {
        return classe;
    }

    // Set the character's class
    public void setClasse(Class classe) {
        this.classe = classe;
    }

    // Return the character's races
    public Race getRace() {
        return race;
    }

    // Set the character's race
    public void setRace(Race race) {
        this.race = race;
    }

    // Return the character's abilities
    public AbilityScore[] getAbilities() {
        return abilities;
    }

    // Set the character's abilities
    public void setAbilities(AbilityScore[] abilities) {
        this.abilities = abilities;
    }

    // Return the character's skills
    public SkillList getSkills() {
        return skills;
    }

    // Set the character's skills
    public void setSkills(SkillList skills) {
        this.skills = skills;
    }

    // Return the character's powers
    public PowerList getPowers() {
        return powers;
    }

    // Set the character's powers
    public void setPowers(PowerList powers) {
        this.powers = powers;
    }

    // Return the character's feats
    public FeatList getFeats() {
        return feats;
    }

    // Set the character's feats
    public void setFeats(FeatList feats) {
        this.feats = feats;
    }

    // Return the character's rituals
    public RitualList getRituals() {
        return rituals;
    }

    // Set the character's rituals
    public void setRituals(RitualList rituals) {
        this.rituals = rituals;
    }

    // Return the character's HP
    public int getHP() {
        return hP;
    }

    // Set the character's HP
    public void setHP(int hP) {
        this.hP = hP;
    }
}
